1873D - 1D Eraser - CodeForces Solution


greedy implementation

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
	  using namespace std;
	  #define ll long long
	  #define vv vector<long long> 
	  #define mm map<long long, longlong>
	  #define st set<long long>
	  #define at for(int i=0; i<n ; i++)
	  int main(){
        int t; cin>>t; while(t--){
          int n, k;
		  cin>>n>>k;
		  string s;
		  cin>>s;
		  int count = 0;
			for(int i=0; i<n; i++){
				if(s[i]=='B') {
					s[i]='w';
					int x = min(i+k, n);
					for(int j=i; j<x; j++){
						if(s[j]=='B') {s[j]='w'; i=j-1;}
					}
					count++;
				}
			}
			cout<<count<<endl;
	  }}


Comments

Submit
0 Comments
More Questions

112. Path Sum
1556A - A Variety of Operations
136. Single Number
169. Majority Element
119. Pascal's Triangle II
409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie